package com.fowo.api.model.platformshipping.item;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ContentStyle;
import com.alibaba.excel.enums.poi.HorizontalAlignmentEnum;
import com.fowo.api.common.validator.EnumsString;
import javax.validation.constraints.*;
import lombok.Getter;
import lombok.Setter;

/** 平台发货单子表 导入导出辅助模型 */
@Getter
@Setter
public class PlatformshippingItemExcelPo {

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "所属平台仓发货单")
  private String parentPlatformshippingShipmentCode;

  @ExcelIgnore
  @ExcelProperty(value = "所属平台仓发货单")
  private Long parentPlatformshipping;

  @Size(max = 50, message = "货件单号长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "货件单号")
  private String cargocode;

  @Size(max = 50, message = "图片长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "图片")
  private String img;

  @Size(max = 50, message = "MSKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "MSKU")
  private String msku;

  @Size(max = 50, message = "GTIN长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "GTIN")
  private String gtin;

  @Size(max = 50, message = "品名长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "品名")
  private String productNameName;

  @ExcelIgnore
  @ExcelProperty(value = "品名")
  private Long productName;

  @Size(max = 50, message = "SKU长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "SKU")
  private String sku;

  @Size(max = 50, message = "平台长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "平台")
  private String platformname;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "店铺")
  private String shopIdShopName;

  @ExcelIgnore
  @ExcelProperty(value = "店铺")
  private Long shopId;

  @Size(max = 50, message = "国家长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "国家")
  private String countryname;

  @ExcelProperty(value = "申报量")
  private Integer applynum;

  @ExcelProperty(value = "发货量")
  private Integer shipmentsnum;

  @EnumsString(
    value = { "默认箱规" },
    message = "箱规名称的可用值为 “默认箱规” 其中之一"
  )
  @Size(max = 50, message = "箱规名称长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "箱规名称")
  private String boxgaugename;

  @Size(max = 50, message = "单箱数量长度不能超过20")
  @ExcelProperty(value = "单箱数量")
  private Integer quantityincase;

  @Size(max = 50, message = "箱数长度不能超过20")
  @ExcelProperty(value = "箱数")
  private Integer boxnum;

  @ExcelProperty(value = "箱规(长)")
  private java.math.BigDecimal cbmlong;

  @ExcelProperty(value = "箱规(宽)")
  private java.math.BigDecimal cbmwide;

  @ExcelProperty(value = "箱规(高)")
  private java.math.BigDecimal cbmtall;

  @Size(max = 50, message = "产品箱规(长)长度不能超过20")
  @ExcelProperty(value = "产品箱规(长)")
  private java.math.BigDecimal specInfolong;

  @ExcelProperty(value = "产品箱规(宽)")
  private java.math.BigDecimal specInfowide;

  @ExcelProperty(value = "产品箱规(高)")
  private java.math.BigDecimal specInfotall;

  @ExcelProperty(value = "CBM(M3)")
  private java.math.BigDecimal cbm;

  @ExcelProperty(value = "单品净重(g)")
  private java.math.BigDecimal cgproductnetweight;

  @ExcelProperty(value = "单品毛重(g)")
  private java.math.BigDecimal cgproductgrossweight;

  @ExcelProperty(value = "单品重量(kg)")
  private java.math.BigDecimal cgproductweight;

  @ExcelProperty(value = "单箱净重(kg)")
  private java.math.BigDecimal cgboxgrossweight;

  @ExcelProperty(value = "单箱毛重(kg)")
  private java.math.BigDecimal boxgrossweight;

  @ExcelProperty(value = "体积重")
  private java.math.BigDecimal volumeweight;

  @ExcelProperty(value = "总净重")
  private java.math.BigDecimal totalnw;

  @ExcelProperty(value = "总毛重")
  private java.math.BigDecimal totalgw;

  @ExcelProperty(value = "税费")
  private java.math.BigDecimal pertax;

  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "发货仓库店铺")
  private String shippingwarehousestoreShopName;

  @ExcelIgnore
  @ExcelProperty(value = "发货仓库店铺")
  private Long shippingwarehousestore;

  @Size(max = 50, message = "备注长度不能超过20")
  @ContentStyle(
    horizontalAlignment = HorizontalAlignmentEnum.LEFT,
    dataFormat = 49
  )
  @ExcelProperty(value = "备注")
  private String remarks;
}
